package com.wicket.okrpbff.biz.service.dto.req;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import javax.validation.constraints.NotNull;
import lombok.Data;

/**
 * @desc BffAddMessageTemplateReqDto
 * @使用场景
 */
@Data
public class BffAddMessageTemplateReqDto implements Serializable {

  /**
   * 消息模板标识
   */
  @NotNull(message = "消息模板标识不能为空")
  @ApiModelProperty("消息模板标识")
  private String messageTemplateCode;

  /**
   * 消息模板名称
   */
  @NotNull(message = "消息模板名称 不能为空")
  @ApiModelProperty("消息模板名称 ")
  private String messageTemplateName;

  /**
   * 关联行为类型编码
   */
  @NotNull(message = "关联行为类型编码  不能为空")
  @ApiModelProperty("关联行为类型编码  ")
  private String relationBehaviorTypeCode;

  /**
   * 通道类型编码 MESSAGE_ASSISTANT:消息助手 PERSONAL_SESSION:个人会话 GROUP_SESSION:群会话
   */
  @NotNull(message = "通道类型编码不能为空")
  @ApiModelProperty("通道类型编码")
  private String messageChannelTypeCode;

  /**
   * 消息模板类型 AUTO_MESSAGE:自动触发消息 MANUAL_MESSAGE:人工操作产生消息
   */
  @NotNull(message = "消息模板类型不能为空")
  @ApiModelProperty("消息模板类型")
  private String messageTemplateType;

  /**
   * 消息访问链接
   */
  @ApiModelProperty("消息访问链接")
  private String messageContentUrl;

  /**
   * 消息已读方式 MANUAL_READ:人工已读 SYSTEM_READSYSTEM_READ:系统已读
   */
  @NotNull(message = "消息已读方式 不能为空")
  @ApiModelProperty("消息已读方式 ")
  private String messageReadMode;

  /**
   * 消息传播方式 BROADCAST_TYPE:广播型 POINT_TYPE:点对点型
   */
  @NotNull(message = "消息传播方式不能为空")
  @ApiModelProperty("消息传播方式")
  private String messageDiffuse;

  /**
   * 主体生命周期 CURRENTLY_VALID:当前有效 EDITING:正在编辑 ARCHIVING:历史存档
   */
  @NotNull(message = "主体生命周期不能为空")
  @ApiModelProperty("主体生命周期")
  private String subjectLifeCycle;

}
